package com.yuandian.business.monitor.mapper;

import com.baomidou.mybatisplus.core.metadata.IPage;
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
import com.yuandian.api.business_monitor.po.QueryBusinessStepParams;
import com.yuandian.api.business_monitor.po.QueryEndToEndDetailParams;
import com.yuandian.api.business_monitor.vo.BusinessStepResVo;
import com.yuandian.api.business_monitor.vo.BusinessStepVo;
import com.yuandian.api.business_monitor.vo.EndToEndNetworkDetailVo;
import org.apache.ibatis.annotations.Mapper;
import org.apache.ibatis.annotations.Param;

import java.util.List;
import java.util.Map;

/**
 * 说明：基础告警详情-节点信息查询mapper
 * @Author tianlr
 * @Date 2022/12/26 15:10
 */
@Mapper
public interface BusinessEndToEndDetailMapper {

    /**
     * 监控查询-基础告警查询详情-节点信息
     * @return 业务概况vo对象集合
     */
	List<Map<String, Object>> selectBusinessEndToEndDetail(@Param("page") Page<Map<String, Object>> page, @Param("tableName") String tableName, @Param("field") String field, @Param("idList") List<String> idList);

    /**
     * 监控查询-业务详情-业务步骤
     * @param params 业务步骤查询参数
     * @return 业务概况vo对象集合
     */
    List<BusinessStepVo> queryBusinessStep(@Param("page") IPage page, @Param("params") QueryBusinessStepParams params);

    /**
     * 业务步骤查询-列表查询
     * @param params 业务步骤查询参数
     * @return 业务概况vo对象集合
     */
    List<BusinessStepResVo> queryBusinessStepListPage(@Param("page") IPage page, @Param("params") QueryBusinessStepParams params);

	/**
	 * 查询端到端网络流量信息
	 *
	 * @param page 分页对象
	 * @param params 查询端到端网络流量信息参数
	 * @return 通用对象
	 */
	List<EndToEndNetworkDetailVo> queryNetworkDetail(@Param("page") Page page,  @Param("params") QueryEndToEndDetailParams params);
}
